package com.neusoft.aclome.cmp.cloud.server.jcce.dto.response;

import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiParam;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * describe :
 *
 * @author hao.dd
 * @date 2024/4/12
 */

public class ConsultProcessDTO {
    @ApiModelProperty(value = "磋商任务id")
    private Long id;
    @ApiModelProperty(value = "磋商名称")
    private String name;
    @ApiModelProperty(value = "磋商开始时间")
    private Date startTime;
    @ApiModelProperty(value = "磋商结束时间")
    private Date endTime;
    @ApiModelProperty(value = "磋商进度百分比 30.33")
    private BigDecimal percentage;
    @ApiModelProperty(value = "磋商的收益，资源，云商，监控信息")
    private List<GraphInfo> graphInfos;
    @ApiModelProperty(value = "日志信息")
    private String logInfo;
    @ApiModelProperty(value ="云商信息信息")
    private List<ConsultInfo> consultInfos;

    public List<ConsultInfo> getConsultInfos() {
        return consultInfos;
    }

    public void setConsultInfos(List<ConsultInfo> consultInfos) {
        this.consultInfos = consultInfos;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public BigDecimal getPercentage() {
        return percentage;
    }

    public void setPercentage(BigDecimal percentage) {
        this.percentage = percentage;
    }

    public String getLogInfo() {
        return logInfo;
    }

    public void setLogInfo(String logInfo) {
        this.logInfo = logInfo;
    }

    public List<GraphInfo> getGraphInfos() {
        return graphInfos;
    }

    public void setGraphInfos(List<GraphInfo> graphInfos) {
        this.graphInfos = graphInfos;
    }

    public static class GraphInfo {
        @ApiModelProperty(value = "1,2,3,4")
        private Integer id;
        @ApiModelProperty(value = "收益分配，资源定价，云商反馈，监控治理")
        private String name;
        @ApiModelProperty(value = "进度值")
        private Integer value;

        public Integer getId() {
            return id;
        }

        public void setId(Integer id) {
            this.id = id;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public Integer getValue() {
            return value;
        }

        public void setValue(Integer value) {
            this.value = value;
        }
    }

    public static class ConsultInfo {
        // ID
        @ApiModelProperty(value = "云商id")
        private Integer id;

        // 类型
        @ApiModelProperty(value = "云商类型")
        private String type;

        // 名称
        @ApiModelProperty(value = "云商名称")
        private String name;

        // CPU配额，单位 GB
        @ApiModelProperty(value = "公有云 CPU 配额，单位 GB")
        private Integer cpuQuota;

        // 内存配额，单位 GB
        @ApiModelProperty(value = "公有云内存配额，单位 GB")
        private Integer memoryQuota;

        // 存储配额，单位 GB
        @ApiModelProperty(value = "公有云存储配额，单位 GB")
        private Integer capacityQuota;

        // 带宽配额，单位 MB/s
        @ApiModelProperty(value = "公有云带宽配额，单位 MB/s")
        private Integer bandwidthQuota;
        // 私有云 CPU 配额，单位 GB

        private Integer cpuUsed;

        private Integer memoryUsed;

        private Integer capacityUsed;

        private Integer bandwidthUsed;

        public Integer getId() {
            return id;
        }

        public void setId(Integer id) {
            this.id = id;
        }

        public String getType() {
            return type;
        }

        public void setType(String type) {
            this.type = type;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public Integer getCpuQuota() {
            return cpuQuota;
        }

        public void setCpuQuota(Integer cpuQuota) {
            this.cpuQuota = cpuQuota;
        }

        public Integer getMemoryQuota() {
            return memoryQuota;
        }

        public void setMemoryQuota(Integer memoryQuota) {
            this.memoryQuota = memoryQuota;
        }

        public Integer getCapacityQuota() {
            return capacityQuota;
        }

        public void setCapacityQuota(Integer capacityQuota) {
            this.capacityQuota = capacityQuota;
        }

        public Integer getBandwidthQuota() {
            return bandwidthQuota;
        }

        public void setBandwidthQuota(Integer bandwidthQuota) {
            this.bandwidthQuota = bandwidthQuota;
        }

        public Integer getCpuUsed() {
            return cpuUsed;
        }

        public void setCpuUsed(Integer cpuUsed) {
            this.cpuUsed = cpuUsed;
        }

        public Integer getMemoryUsed() {
            return memoryUsed;
        }

        public void setMemoryUsed(Integer memoryUsed) {
            this.memoryUsed = memoryUsed;
        }

        public Integer getCapacityUsed() {
            return capacityUsed;
        }

        public void setCapacityUsed(Integer capacityUsed) {
            this.capacityUsed = capacityUsed;
        }

        public Integer getBandwidthUsed() {
            return bandwidthUsed;
        }

        public void setBandwidthUsed(Integer bandwidthUsed) {
            this.bandwidthUsed = bandwidthUsed;
        }
    }
}
